/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.asportoonline.business.beans;

import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import org.asportoonline.entities.Categoria;
import org.asportoonline.integration.CategoriaFacade;

/**
 *
 * @author fe
 */
@Stateless
public class CategoriaManagerImplementation implements CategoriaManager {
    @EJB
    private CategoriaFacade categoriaFacade;

    // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")

    /**
     * Cerca tutte le categorie presenti nel database.
     * 
     * @return restituisce una lista contenente tutte le categorie presenti nel database; 
     * se non ce ne sono restituisce null.
     * @see Categoria
     */
    public List<Categoria> cercaTutteLeCategorie() {
        return categoriaFacade.findAll();
    }

    /**
     * Inserisce una nuova categoria, che deve avere un nome univoco.
     * 
     * @param cat  
     * @see Categoria
     */
    public void inserisciCategoria(Categoria cat) {
        categoriaFacade.create(cat);
    }

    /**
     * Cerca una categoria in base al nome.
     * 
     * @param nomeCategoria  nome della categoria.
     * @return se il nome esiste restituisce la Categoria, altrimenti restituisce null.
     * @see Categoria
     */
    public Categoria cercaCategoria(String nomeCategoria) {
        return categoriaFacade.find(nomeCategoria);
    }

    /**
     * Cerca i nomi di tutte le categorie presenti nel database.
     * 
     * @return restituisce una lista contenente i nomi di tutte le categorie presenti nel database; 
     * se non ce ne sono restituisce null.
     */
    public List<String> recuperaNomiCategorie() {
        return categoriaFacade.findAllNames();
    }

    
    
}
